package com.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.service.OrderInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * Description:
 *
 * @Author: liukai
 * @Create: 2025/8/8 9:06
 * @Version: 1.0
 */
@RestController
public class OrderInfoController {
    @Autowired
    OrderInfoService orderInfoService;

    @RequestMapping("chapter")
    public JSONObject t1(){
        List<Map> chapter = orderInfoService.chapter();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray columns = new JSONArray();
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","章节id");
        jsonObject1.put("id","id");
        columns.add(jsonObject1);
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","章节名称");
        jsonObject2.put("id","name");
        columns.add(jsonObject2);
        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","播放次数");
        jsonObject3.put("id","frequency");
        columns.add(jsonObject3);
        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","播放时长");
        jsonObject4.put("id","Duration");
        columns.add(jsonObject4);
        JSONObject jsonObject5 = new JSONObject();
        jsonObject5.put("name","观看人数");
        jsonObject5.put("id","Number");
        columns.add(jsonObject5);
        JSONObject jsonObject6 = new JSONObject();
        jsonObject6.put("name","人均观看时长");
        jsonObject6.put("id","watch");
        columns.add(jsonObject6);
        data.put("columns",columns);
        JSONArray rows = new JSONArray();
        for (Map map : chapter) {
            JSONObject jsonObject11 = new JSONObject();
            jsonObject11.put("id",map.get("id"));
            jsonObject11.put("name",map.get("namee"));
            jsonObject11.put("frequency",map.get("frequency"));
            jsonObject11.put("Duration",map.get("Duration"));
            jsonObject11.put("Number",map.get("Number"));
            jsonObject11.put("watch",map.get("watch"));
            rows.add(jsonObject11);
        }
        data.put("rows",rows);
        jsonObject.put("data",data);
        return jsonObject;
    }
    @RequestMapping("sublevel")
    public JSONObject t2(){
        Map sublevel = orderInfoService.sublevel();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONArray data = new JSONArray();
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name","0_60");
        jsonObject1.put("value",sublevel.get("0_60"));
        data.add(jsonObject1);
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","60_80");
        jsonObject2.put("value",sublevel.get("60_80"));
        data.add(jsonObject2);
        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","80_90");
        jsonObject3.put("value",sublevel.get("80_90"));
        data.add(jsonObject3);
        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","90_95");
        jsonObject4.put("value",sublevel.get("90_95"));
        data.add(jsonObject4);
        JSONObject jsonObject5 = new JSONObject();
        jsonObject5.put("name","95_100");
        jsonObject5.put("value",sublevel.get("95_100"));
        data.add(jsonObject5);
        jsonObject.put("data",data);
        return jsonObject;
    }
    @RequestMapping("province")
    public JSONObject t3(){
        List<Map> province = orderInfoService.province();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject data = new JSONObject();
        JSONArray mapData = new JSONArray();
        for (Map map : province) {
            JSONObject jsonObject1 = new JSONObject();
            jsonObject1.put("name",map.get("name"));
            jsonObject1.put("value",map.get("Total"));
            JSONArray tooltipValues = new JSONArray();
            tooltipValues.add(map.get("Number"));
            tooltipValues.add(map.get("orders"));
            jsonObject1.put("tooltipValues",tooltipValues);
            mapData.add(jsonObject1);
        }
        data.put("mapData",mapData);
        data.put("valueName","下单金额");
        JSONArray tooltipNames = new JSONArray();
        tooltipNames.add("下单人数");
        tooltipNames.add("订单数");
        data.put("tooltipNames",tooltipNames);
        JSONArray tooltipUnits = new JSONArray();
        tooltipUnits.add("人");
        tooltipUnits.add("单数");
        data.put("tooltipUnits",tooltipUnits);
        jsonObject.put("data",data);
        return jsonObject;
    }
    @RequestMapping("total")
    public JSONObject t4(){
        Double total = orderInfoService.Total();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        jsonObject.put("data",total);
        return jsonObject;
    }
}
